package main

import "fmt"

func main() {
	q := &Queue{
		make([]interface{}, 0),
	}
	q.Append([]int{2, 3, 3, 3})
	q.Delete()
	fmt.Println(q.data)
}

// Queue 队列
type Queue struct {
	data []interface{}
}

func (q *Queue) Append(data interface{}) {
	q.data = append(q.data, data)
}

func (q *Queue) Delete() {
	if q.IsEmpty() {
		return
	}
	q.data = q.data[1:]
}

func (q *Queue) IsEmpty() bool {
	if len(q.data) == 0 {
		return true
	}
	return false
}
